export default {
    methods: {
        jumpUrl(val) { // 格式化标题
            if (!val) return
            var url = ""
            var reg = /[0-9a-zA-Z]+/g
            val = val.match(reg);
            for (var i = 0; i < val.length; i++) {
                url = url + val[i].toLowerCase() + "-"
            }
            return url.substring(0, url.length - 1)
        },
        back() { // 返回上一页
            this.$router.go(-1)
        },
        sortBy(filed, rev, primer) { //排序
            rev = (rev) ? -1 : 1;
            return function(a, b) {
                a = a[filed];
                b = b[filed];
                if (typeof(primer) != 'undefined') {
                    a = primer(a);
                    b = primer(b);
                }
                if (a < b) { return rev * -1; }
                if (a > b) { return rev * 1; }
                return 1;
            }
        },
        setTotal(array) { // 购物车价格
            var total = 0
            array.forEach((item) => {
                total += item.product_qty * item.price
            })
            return parseFloat(total)
        }
    },
    filters: {
        Currency(val) { // 货币
            if (!val) return false;
            return '$' + parseFloat(val).toFixed(2)
        },
        formatTime(d, f) { // 日期格式化
            /**
             * {{data | formatTime('yyyy/MM/dd')}}
             * {{data | formatTime('yyyy/MM/dd hh:mm:ss')}}
             * {{data | formatTime('yyyy年MM月dd')}}
             * {{data | formatTime('yyyy年MM月dd hh时mm分ss秒')}}
             */
            Date.prototype.Format = function(fmt) {
                var o = {
                    "M+": this.getMonth() + 1, //月份
                    "d+": this.getDate(), //日
                    "h+": this.getHours(), //小时
                    "m+": this.getMinutes(), //分
                    "s+": this.getSeconds(), //秒
                    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
                    "S": this.getMilliseconds() //毫秒
                }
                if (/(y+)/.test(fmt)) {
                    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length))
                }
                for (var k in o) {
                    if (new RegExp("(" + k + ")").test(fmt)) {
                        fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length))
                    }
                }
                return fmt
            }
            return new Date(d).Format(f);
        }
    }
}